草庐IT

LeetCode - 两数之和

全部标签

(链表) 143. 重排链表 ——【Leetcode每日一题】

❓143.重排链表难度:中等给定一个单链表L的头节点head,单链表L表示为:L0L_0L0​→L1L_1L1​→…→Ln−1L_{n-1}Ln−1​→LnL_nLn​请将其重新排列后变为:L0L_0L0​→LnL_nLn​→L1L_1L1​→Ln−1L_{n-1}Ln−1​→L2L_2L2​→Ln−2L_{n-2}Ln−2​→…不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例1:输入:head=[1,2,3,4]输出:[1,4,2,3]示例2:输入:head=[1,2,3,4,5]输出:[1,5,2,4,3]提示:链表的长度范围为[1,5∗104][1,5*10^4][1,5

单调栈详解-基于LeetCode的题目

大家经常在评论区问我如果学习Python,如何锻炼 自己的Python编程能力,这里给大家推荐一个我经常练习Python的网站:牛客网-找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网 里面还包含很多大厂笔试的Python题目,大家可以跟我一起刷题,从本周起我会陆续在博客分享我的刷题心得,欢迎大家跟我一起学习,有问题可以在评论区指出来,大家一起讨论。单调栈的意思可以看这个链接,这位大佬写的很详细https://blog.csdn.net/liujian20150808/article/details/50752861或者也可以直接看我的讲解:单调栈,可以理解为有单调性的一

代码随想录第三天|链表理论基础,LeetCode203.移除链表元素, LeetCode707.设计链表,LeetCode 206.反转链表

链表:链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的入口节点称为链表的头结点也就是head。链表类型:1.单链表单链表中的指针域只能指向节点的下一个节点。2.双链表每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。双链表既可以向前查询也可以向后查询。3.循环链表链表首尾相连的叫循环链表。循环链表可以用来解决约瑟夫环问题。 链表的存储方式:数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的。链表是通过指针域的指针链接在内存中各个节点。所以链表中的

(C语言版)力扣(LeetCode)面试题 17.04. 消失的数字5种解法

消失的数字题目介绍第一种解法:按位异或第二种解法:公式运算第三种解法:临时数组第四种解法:相加再相减第五种解法:快排加二分查找结语题目介绍该题目取自力扣(LeetCode)面试题17.04.消失的数字链接:消失的数字该题目主要考察时间复杂度的把握,题目如下:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?注意:本题相对书上原题稍作改动示例1:输入:[3,0,1]输出:2示例2:输入:[9,6,4,2,3,5,7,0,1]输出:8提示1:你需要多长时间才能算出缺失数字的最小有效位?提示2:要找到缺失的数字中的最小有效位,你其实知道

(C语言版)力扣(LeetCode)面试题 17.04. 消失的数字5种解法

消失的数字题目介绍第一种解法:按位异或第二种解法:公式运算第三种解法:临时数组第四种解法:相加再相减第五种解法:快排加二分查找结语题目介绍该题目取自力扣(LeetCode)面试题17.04.消失的数字链接:消失的数字该题目主要考察时间复杂度的把握,题目如下:数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?注意:本题相对书上原题稍作改动示例1:输入:[3,0,1]输出:2示例2:输入:[9,6,4,2,3,5,7,0,1]输出:8提示1:你需要多长时间才能算出缺失数字的最小有效位?提示2:要找到缺失的数字中的最小有效位,你其实知道

算法训练Day35 贪心算法专题 | LeetCode860. 柠檬水找零(没有思路就先模拟过程);406. 根据身高重建队列(不能两头兼顾);452. 用最少数量的箭引爆气球(重叠区间)

前言:算法训练系列是做《代码随想录》一刷,个人的学习笔记和详细的解题思路,总共会有60篇博客来记录,计划用60天的时间刷完。 内容包括了面试常见的10类题目,分别是:数组,链表,哈希表,字符串,栈与队列,二叉树,回溯算法,贪心算法,动态规划,单调栈。博客记录结构上分为思路,代码实现,复杂度分析,思考和收获,四个方面。如果这个系列的博客可以帮助到读者,就是我最大的开心啦,一起LeetCode一起进步呀;) 目录LeetCode860.柠檬水找零 1.思路2.代码实现3.代码实现4.思考与收获LeetCode406.根据身高重建队列1.思路2.代码实现3.复杂度分析4.思考与收获LeetCode4

LeetCode——查询后矩阵的和

目录1、题目2、题目解读3、代码1、题目2718.查询后矩阵的和-力扣(Leetcode)给你一个整数 n 和一个下标从 0 开始的 二维数组 queries ,其中 queries[i]=[typei,indexi,vali] 。一开始,给你一个下标从 0 开始的 nxn 矩阵,所有元素均为 0 。每一个查询,你需要执行以下操作之一:如果 typei==0 ,将第 indexi 行的元素全部修改为 vali ,覆盖任何之前的值。如果 typei==1 ,将第 indexi 列的元素全部修改为 vali ,覆盖任何之前的值。请你执行完所有查询以后,返回矩阵中所有整数的和。示例1:输入:n=3,

算法leetcode|55. 跳跃游戏(rust重拳出击)

文章目录55.跳跃游戏:样例1:样例2:提示:分析:题解:rust:go:c++:python:java:55.跳跃游戏:给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。样例1:输入: nums=[2,3,1,1,4] 输出: true 解释: 可以先跳1步,从下标0到达下标1,然后再从下标1跳3步到达最后一个下标。样例2:输入: nums=[3,2,1,0,4] 输出: false 解释: 无论怎样,总会到达下标为3的位置。但该下标的最大跳跃长度是0,所以永远不可能到达最后一个下标。提示:

hot1-两数之和

 leetcode原题链接:两数之和题目描述    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例:输入:nums=[2,7,11,15],target=9输出:[0,1]解释:因为nums[0]+nums[1]==9,返回[0,1]。示例2:输入:nums=[3,2,4],target=6输出:[1,2]示例3:输入:nums=[3,3],target=6输出:[0,1]解题思

【LeetCode】Day203-最少侧跳次数

题目1824.最少侧跳次数【中等】题解这种后面问题和前面关联的题就容易想到动态规划,问题是dp怎么定义。用0,1,2对跑道进行重新编号,obstacles[i]-1与跑道对应,-1代表无障碍物。状态定义:dp[i][j]表示青蛙到达第i点的第j条跑道所需要的最小侧跳次数。状态转移方程:怎么到达的当前位置呢?有两种方法,第一是从i-1点横着跳过来,第二是从i点其他跑道侧跳过来。首先,如果当前跑道无障碍,青蛙可以不侧跳,直接从i-1点跳到i点,dp[i][j]=dp[i-1][j];如果有障碍,设置dp[i][j]=inf然后,青蛙可以从i点其他跑道侧跳到当前跑道,设minCnt=min(d[i]